package cn.z2huo.mybatis.generator.mybatis3dynamicsql.dao;

import org.mybatis.dynamic.sql.AliasableSqlTable;
import org.mybatis.dynamic.sql.SqlColumn;

import java.sql.JDBCType;
import java.time.LocalDateTime;

public final class RoleDynamicSqlSupport {
    public static final Role role = new Role();

    public static final SqlColumn<Long> id = role.id;

    public static final SqlColumn<LocalDateTime> createTime = role.createTime;

    public static final SqlColumn<LocalDateTime> operateTime = role.operateTime;

    public static final SqlColumn<String> createByCode = role.createByCode;

    public static final SqlColumn<String> operateByCode = role.operateByCode;

    public static final SqlColumn<String> roleName = role.roleName;

    public static final SqlColumn<String> roleCode = role.roleCode;

    public static final SqlColumn<Integer> ranking = role.ranking;

    public static final SqlColumn<String> validFlag = role.validFlag;

    public static final SqlColumn<String> deleteFlag = role.deleteFlag;

    public static final SqlColumn<LocalDateTime> deleteTime = role.deleteTime;

    public static final SqlColumn<Long> systemId = role.systemId;

    public static final class Role extends AliasableSqlTable<Role> {
        public final SqlColumn<Long> id = column("id", JDBCType.BIGINT);

        public final SqlColumn<LocalDateTime> createTime = column("create_time", JDBCType.TIMESTAMP);

        public final SqlColumn<LocalDateTime> operateTime = column("operate_time", JDBCType.TIMESTAMP);

        public final SqlColumn<String> createByCode = column("create_by_code", JDBCType.VARCHAR);

        public final SqlColumn<String> operateByCode = column("operate_by_code", JDBCType.VARCHAR);

        public final SqlColumn<String> roleName = column("role_name", JDBCType.VARCHAR);

        public final SqlColumn<String> roleCode = column("role_code", JDBCType.VARCHAR);

        public final SqlColumn<Integer> ranking = column("ranking", JDBCType.INTEGER);

        public final SqlColumn<String> validFlag = column("valid_flag", JDBCType.VARCHAR);

        public final SqlColumn<String> deleteFlag = column("delete_flag", JDBCType.VARCHAR);

        public final SqlColumn<LocalDateTime> deleteTime = column("delete_time", JDBCType.TIMESTAMP);

        public final SqlColumn<Long> systemId = column("system_id", JDBCType.BIGINT);

        public Role() {
            super("public.z2huo_role", Role::new);
        }
    }
}